![]()
Естественно, история Linux начинается с Unix. Наш рассказ мы начнем с конца 60-х годов, когда прилагались согласованные усилия по выработке новых подходов к созданию операционных систем. В 1968 году консорциум исследователей, представляющих фирмы General Electric, AT&T Bell Laboratories и Массачусетский технологический институт, завершил работу над научно-исследовательским проектом Multics, результатом которого стала одноименная операционная система, вобравшая в себя последние достижения в решении проблем многозадачности, управления файлами и взаимодействия с пользователем. В 1969 году уже упомянутый нами Кен Томпсон разработал операционную систему Unix, в которой использовались многие результаты проекта Multics. Он приспособил эту систему, предназначенную для работы на мини-ЭВМ, к потребностям исследователей. С самого начала Unix стала удобной для всех и эффективной многопользовательской имногозадачной операционной системой.
Со временем популярность Unix в Bell Laboratories росла, и в 1970 году Деннис Ритчи и Кен Томпсон переписали код системы на языке программирования С. Деннис Ритчи, коллега Томпсона по Bell Labs,создал этот язык с целью обеспечения гибкости при разработке программ. Одно из преимуществ языка С состоит в том, что он позволяет обращаться непосредственнок аппаратным средствам компьютера за счет использования обобщенного набора команд. До этого текст программы операционной системы нужно было специально переписывать на аппаратно-зависимом языке ассемблера для каждого типа компьютера. Язык С позволил Ритчи и Томпсону написать всего одну версию операционной системы Unix, которую затем можно было компилировать С-компиляторами на различных машинах. Операционная система Unix стала мобильной, т.е. способной работать на разных типах машин практически без перепрограммирования.
Постепенно Unix выросла из персонального творения одного человека в стандартный программный продукт, распространяемый многими фирмами, включая Novell и IBM. Сначала эту ОС считали исследовательским продуктом,поэтому первые версии Unix распространялись бесплатно по факультетам вычислительной техники многих известных университетов. В 1972 году Bell Labs начала выпускать официальные версии Unix и продавать лицензии на нее различным пользователям. Одним из таких пользователей был факультет вычислительной техники Калифорнийского университета в Беркли. Его специалисты ввели в систему много новых особенностей, которые впослед-ствии стали стандартными. В 1975 году в Беркли была выпущена собственная версия Unix, известная как Berkeley Software Distribution (BSD). Эта версия Unix стала основным соперником версии AT&T Bell Labs. Постепенно стали появляться и другие независимо разрабатываемые версии Unix. В 1980 году фирма Microsoft выпустила версию Unix для ПК, получившую название Xenix. Компания AT&T разработала несколько версий Unix, а в 1982 году выпустила первую коммерческую версию. System 3. За ней последовала System V, которая стала весьма серьезно поддерживаемым программным продуктом.
Параллельно с этими событиями выпускались версии BSD, В конце 70-х годов BSD Unix стала основой исследовательского проекта, выполняемого в Агентстве перспективных исследований и разработок (DARPA) министерст-ва обороны США. В результате в 1983 году Калифорнийский университет выпустил мощную версию Unix под названием BSD 4.2. Она включала в себя достаточно совершенную систему управления файлами и сетевые средства, основанные на использовании протоколов TCP/IP, применяемых сейчас в Internet. Версия BSD 4.2 широко распространилась и была выбрана многими фирмами-производителями, в частности Sun Microsystems.
Распространение разных версий Unix привело к необходимости выработ-ки стандарта наэту ОС. Иного способа узнавать о том, в каких версиях будут работать предназначенные для использования в среде Unix программы, у разработчиков этих программ не было. В середине 80-х годов появились два конкурирующих стандарта: один был создан на основе версии AT&T, а второй - на основе версии BSD. Сегодня в магазинах можно найти множество книг, посвященных разным вариантам Unix. В некоторых из них освещается Unix System V, а в других - BSD Unix.
Компания AT&T
передала работы по Unix новой
организации, Unix System Laboratories, которая
сосредоточила свои усилия на
разработке стандартной системы,
объединяющей основные версии Unix. В
1991 году Unix System Laboratories разработала
System V версии 4, в которой были
реализованы практически все
возможности вариантов System Vверсии 3,
BSD версии 4.3, Sun-OS и Xenix. В ответ на System
V версии 4 несколько компаний, в
частности IBM и Hewlett-Packard, создали
Фонд открытого программного
обеспечения (Open Software Foundation, OSF),
целью которого стала разработка
собственной стандартной версии Unix.
В результате появились два
конкурирующих коммерческих
стандартных варианта Unix - версия OSF
и System V версии 4. В 1993 году компания
AT&T продала свою долю прав на Unix
фирме Novell, и некоторое время Unix Systems
Laboratories принадлежала Novell. За это
времяфирма выпустила собственные
версии Unix на базе System V версии 4,
получившие общее название UnixWare.
UnixWare предназначена для
взаимодействия с системой NetWare
разработки Novell. В настоящее время
Unix System Laboratories принадлежит фирме Santa
Cruz Operation.
ОС Solaris ознаменовала собой ориентацию фирмы Sun на System V версии 4. Два конкурирующих графических пользовательских интерфейса для Unix - Motif и OpenLook- объединены в новом стандарте рабочего стола, называемом Common Desktop Environment (CDE).
На протяжении почти всего своего развития Unix оставалась большой и требовательной по отношению к аппаратным средствам операционной сис-темой, для эффективной работы которой необходимо было иметь рабочую станцию или мини-ЭВМ. Некоторые версии Unix были рассчитаны в основ-ном на рабочие станции. Систему SunOS разработали для рабочих станций Sun, а систему AIX - для рабочих станций IBM.По мере наращивания мощи персональных компьютеров стали появляться сообщения о разработкевер-сий Unix для ПК. В частности, Xenix и System V/386 - коммерческие версии Unix для IBM-совместимых ПК. AUX - версия Unix, которая работает на ПК Macintosh. To, что Unix устанавливается на компьютерах практически всех типов (рабочих станциях, мини-ЭВМ и даже супер-ЭВМ), - лишнее свидетельство присущей ей мобильности, которая и обеспечила возможность создания эффективной версии Unix для персональных компьютеров.
Система Linux предназначена специально для персональных компьюте-ров с элементной базой Intel. Ее разработка начиналась проектом Линуса Торвальда, студента факультета вычислительной техники Хельсинкского университета. В то время студенты пользовались программой Minix, которая демонстрировала различные возможности Unix. Эта программа, которую разработал профессор Эндрю Таннебаум, широко распространилась по сети Internet среди студентов всего мира. В намерения Линуса входило создать эффективную ПК-версию Unix для пользователей Minix. Он назвал ее Linux и в 1991 году выпустил версию 0.11. Linux широко распространилась по Internet и в последующие годы подверглась доработкам со стороны других программистов, которые ввели в нее возможностии особенности, присущие стандартным Unix-системам. В Linux, в частности, были перенесеныпрак-тически все основные программы-менеджеры окон. В этой ОС используются все утилиты Internet, включая ftp, telnet и slip. Имеется и полный набор средств разработки программ, включая компиляторы и отладчики C++. Несмотря на такие широкие возможности, операционная система Linux остается небольшой, стабильной и быстродействующей. В минимальной конфигурации она может эффективно работать даже при наличии оператив-ной памяти объемом всего лишь 4 Мбайта.
Несмотря на то что Linux развивается в свободной и открытой среде Internet, она соответствуетофициальным стандартам Unix. Вследствие рас-пространения в прошедшие десятилетия различных версий Unix Институт инженеров по электротехнике и радиоэлектронике США (IEEE) разработал независимый стандарт Unix для Американского национального института стандартов (ANSI). Этот новый стандарт Unix называется Portable Operating System Interface for Computer Environments (POSIX, интерфейс переносимых операционных систем для вычислительных сред), определяет порядок работы Unix-подобной системы и описывает некоторые детали, например систем-ные вызовы и интерфейсы. POSIX - это универсальный стандарт, которому должны соответствовать все версии ОС Unix. Большинство наиболее попу-лярных версий Unix уже совместимы с ним. Linux с самого начала разраба-тывалась в соответствии с нормами POSIX.